The present invention relates generally to graphical user interfaces which can, for example, be used in the management of telecommunication network systems. More particularly, the present invention relates to methods and systems for using graphical user interfaces to browse management information, e.g., information regarding the structure of a managed telecommunication network.
Graphical user interfaces are now being used instead of the traditional command-oriented, man/machine language for the management of telecommunication networks. These graphical user interfaces are characterized by the presentation of information in windows, as well as user control by a pointing device such as a mouse. The operation of these graphical user interfaces in such an environment can be described as "select-then-operate," i.e., a user first selects a managed object from the interface and then indicates the desired operation for that object.
In the context of a managed telecommunication network, a graphical user interface shows graphical representations of managed telecommunication objects, e.g., base station transmitters, in windows and allows the selection (highlighting) of the managed objects for use in a specified operation. Managed objects, per se, are described in CCITT Rec. X.700 ("Management Framework for OSI") and X.701 ("OSI--Systems Management Overview"), the contents of which are incorporated here by reference in their entireties. The principles for naming and identifying managed objects are further described in CCITT Rec. X.720 ("Structure of Management Information. Part 1: Management Information Model"), the content of which is incorporated here by reference in its entirety. Actual instances of managed objects are identified by a naming attribute and structured in a naming hierarchy. The naming hierarchy is also called the naming tree, e.g., FIG. 4, because it structures the management information by providing an "is contained in" relationship between the managed objects.
Actual telecommunication network systems typically include thousands of managed objects and it is extremely difficult and impractical to display all of the managed objects simultaneously in a graphical user interface. Easy access to this information is important for management tasks like regular maintenance, trouble shooting, and reconfiguration of the network. In addition to techniques (e.g., scrolling, expanding/compressing, and listing only on a selected level) for coping with the large number of managed objects, the present invention also provides a new way of handling managed objects especially suited for, but not limited to, the above-described telecommunication application.
Graphical user interfaces built according to object oriented principles are typically viewed as including V three components: the model, the view, and the controller. The model-view-controller (MVC) concept originates from a Smalltalk class-library as described in Design Patterns for Object-Oriented Software Development written by Wolfgang Pree, Addison-Wesley, 1995 and A System of Patterns written by Frank Buschmann et al., Chichester, West Sussex, John Wiley & Sons, 1996, the contents of which are incorporated here by reference in their entireties. As illustrated in FIG. 1, the model 101 stores application-specific data, e.g., a text processing application stores text characters in the model 101; a drawing application stores a description of different graphical shapes in the model 101; and a managed object management system stores a managed object naming tree and data relating to the managed objects in the model 101. A view 102 presents the model 101 on a display, e.g., a screen. Any number of views might present the model 101 in different ways although each view 102 accesses the information stored in the model 101. The controller 103 handles input events such as mouse interaction and key strokes of a keyboard. The controller 103 can access the view 102 as well as the model 101 to make changes to both the model 101 and the view 102.
Currently, navigating through and performing operations on a managed object tree in a graphical user interface is accomplished using one of two different techniques. The first technique involves displaying a selected hierarchy level in a flat list, i.e., a scrollable non-hierarchical list. The second method involves displaying a tree list, i.e., a hierarchical representation of the managed objects having nodes and branches of nodes and having controls to expand and compress individual levels of the tree list.
An example of the conventional flat list method can be found in the "CNA User Guide," 1553-CRA 114 075 Uen Rev PC1 Aug. 2, 1995. With reference to FIG. 2, this conventional flat-list method uses a non-hierarchical list 204 to graphically depict a selected number of managed objects 205. This list 204 is normally accompanied by a text description 206 which describes the selection criteria for the list 204. In addition, controls 207, e.g., a menu, are provided in order to enable a user to change the selection criteria.
However, presentation of managed objects using a flat-list does not provide the user with an overview of the hierarchical relationship between the various managed objects. Knowledge of this hierarchical relationship is necessary to provide a unique identification of each of the managed objects. This problem is especially acute for flat-lists created using display criteria other than object hierarchy, e.g., a flat-list showing all managed objects that are geographically proximate to a given managed object. For example, the geographically proximate managed objects may have different parent managed objects and information about those parent objects is necessary to provide unique identities.
Current systems solve this problem by presenting the name of the parent object(s) within the same row of the flat-list. This solution still has the drawback in a "select-then-operate" user interface that the parent object(s) can not be selected, hence no operation can be performed on those objects directly.
The tree-list method is a more intuitive technique for graphically depicting managed objects, because this method inherently provides an overview of the object hierarchy to the user. An example of the tree-list method can be found in the "AXS User Guide," 1553-CRA 114 221 Uen Rev PB4 Nov. 16, 1995. As illustrated in FIG. 3, the managed object tree is presented as a list 308 where hierarchical levels are indicated by indenting individual rows. A user can step through the hierarchy by expanding or collapsing individual hierarchical levels by selecting a folder icon 309 at the left side of each row.
One disadvantage of the tree-list method is that it does not allow for the grouping of managed objects together. Managed objects having some common criteria might nonetheless be displayed far away from each other on the tree-list due to the fixed hierarchical arrangement in the tree-list. For example, displaying all managed objects that are geographically proximate to a given managed object may not be possible within the boundaries of a single window, because the geographically proximate managed objects may be separated by several rows of other managed objects and thus the list may be too long to be displayed without having to scroll through the contents of the window.
Therefore, a new technique and system for navigating through, and performing operations on, a managed object tree in a graphical user interface is needed to overcome the problems of both the flat-list and tree-list methods. This new technique should provide the capability to both display the user's selected object (i.e., the managed object to be operated on) within the context of its hierarchy and also display related managed objects defined by user specified criteria.